let index //点击视频的索引号
Page({
	timeupdate(e){ //播放进度变化时触发
		this.currentTime=e.detail.currentTime //秒
	},	
	onHide(){ //页面进入后台
		this.save()
	},
	onUnload(){ //页面退出
		this.save()
	},
	save(){ //保存当前视频播放信息
		if(!this.data.url)return
		let pages=getCurrentPages() //获取当前页面栈。数组中第一个元素为首页，最后一个元素为当前页面。
		let prePage=pages[pages.length-2] //获取视频列表页面对象
		let data=prePage.data //视频列表页面的页面数据
		let menu=data.menus[data.menuIndex] //获取当前菜单项
		let type=menu.types[menu.typeIndex] //获取当前类型
		let video=type.list[index] //获取要播放的视频对象
		let change={} //保存有变化的数据
		change[`menus[${data.menuIndex}].types[${menu.typeIndex}].list[${index}].url`]=this.data.url
		change[`menus[${data.menuIndex}].types[${menu.typeIndex}].list[${index}].currentTime`]=this.currentTime
		change[`menus[${data.menuIndex}].types[${menu.typeIndex}].list[${index}].jj`]=this.data.jj
		prePage.setData(change) //更新列表页面的点击播放的视频信息
	},
	request(url){ //发起请求，返回一个Promise
		return new Promise((resolve, reject)=>{
			wx.request({
				url,
				
				success: r => {
					resolve(r.data) //成功时返回的数据
				},
				fail: e=>{
					resolve(null) //null表示请求失败
				}
			})
		})
	},

	async onLoad(options) { //生命周期函数--监听页面加载
		this.host='https://miao101.com'
		// console.log(options) // options={index: "0"}
		index=parseInt(options.index) //要播放视频的索引号
		let pages=getCurrentPages() //获取当前页面栈。数组中第一个元素为首页，最后一个元素为当前页面。
		let prePage=pages[pages.length-2] //获取视频列表页面对象
		let data=prePage.data //视频列表页面的页面数据
		let menu=data.menus[data.menuIndex] //获取当前菜单项
		let type=menu.types[menu.typeIndex] //获取当前类型
		let video=type.list[index] //获取要播放的视频对象
		console.log(video)
		if(video.url && video.url.startsWith('http')){
			this.setData({url: video.url, title: video.title, currentTime: video.currentTime,jj:video.jj})
			return
		}
		if(video.url==null){
			console.log('播放页面的地址为null')
			return
		}
		let url=`${this.host}${video.url}` //播放页面的地址
		let html=await this.request(url) //请求播放页面的html文本
		if(html!=null){ //请求成功
			console.log("网页内容："+html)
			let regex=/const vo = JSON\.parse\("([^"]+)"\)/
			let r=regex.exec(html)
			if(r!=null){
				let j=JSON.parse(r[1].replaceAll('\\u0022','"')) //获取视频的json数据
				console.log(j)
				url=j.clips[0][1] //获取视频的地址
				let change={url, title:video.title}
				regex=/<div class="text-break ft14">(.+)<\/div>/
				r=regex.exec(html)
				if(r!=null){
					change.jj=r[1].replace(/(<\/?(p|br)[^>]*>|　)+/g,'\n　　')
				}
				this.setData(change) //更新页面数据
			}
		}
	},
})